Skip to content

♻️ schedule 도메인 리팩터링 및 새로운 기능 추가#38

Merged
5nam merged 35 commits intodevelopfrom
refactor/33-schedule
Jun 20, 2025
Merged

♻️ schedule 도메인 리팩터링 및 새로운 기능 추가#38
5nam merged 35 commits intodevelopfrom
refactor/33-schedule

Conversation

@5nam
Copy link
Copy Markdown
Collaborator

@5nam 5nam commented May 28, 2025

♻️ schedule 도메인 리팩터링 및 새로운 기능 추가

  • feat: 댓글 저장 기능
  • refactor : CQS 패턴 적용, URL 복수형으로 변경, 정적 팩토리 메서드 createSchedule -> from 으로 변경, 데이터 받아오기 PathVariable 방식으로 변경, 응답 없는 기능들 응답 반환하도록 변경.

📌 변경 사항 (What’s changed?)

  • ScheduleService -> ScheduleCommandService, ScheduleQueryService 로 분리
  • 패키지 구조 변경 Schedule > Comment, Schedule > Vote 이렇게 도메인 안에 속한 도메인 구조로 변경
  • ScheduleService 내부에 모두 모여있던 로직을 Comment, Vote 도메인을 분리하여 ScheduleVoteService 와 ScheduleCommentService 로 분리

⚙️ 변경 이유 (Why?)

  • Schedule 이라는 도메인에 Comment, Vote 책임까지 할당되어 있어 과중하다고 생각
  • 분리하여 유지보수성을 높임

✅ 테스트 방법 (How to test?)

  • 단위 테스트 코드 추가 및 도메인에 따라 분리

🤔 기타 참고 사항

  • 스케줄 세부 조회 중 정식 매치는 전적이 구현되어 있는 것을 찾지 못하여 구현하지 못했습니다.
  • 공부하고 구현하도록 하겠습니다!

💬리뷰 요구사항

  • 편하게 리뷰 주시면 감사하겠습니다 :)

5nam added 30 commits April 14, 2025 15:04
…ttendanceType 을 enum 으로 구현하여 잘못된 입력 값 방지.
- 동사로 시작, get, create, update, delete 등으로 사용
- 코드 가독성을 높이기 위해 날짜를 year, month 변수로 분리
- ScheduleCategory 가 잘못된 값이 들어와도 값이 조회되도록 변경
- 조회수 부분 추가
- 정기운동, 대회, 친선 매치, 기타 부분만 완료된 것(실제 매치 부분은 리다이렉트 등 여러 방식 고민 중)
- 모임에 소속되지 않은 사람이 조회하면 예외 발생하는 부분 테스트 코드 추가
- 일정 중 친선 매치/대회는 상대 팀 정보도 입력 받아야 하므로 save, update 메서드에 상대 팀 정보 받는 것 추가
- 외부 상대 팀 정보를 저장힉 위해 Schedule 엔티티에 상대 팀 정보 컬럼으로 추가(@embeddable 사용. 코드 재사용성을 위해 클래스 분리)
- 일정 세부 조회 시 일정 종류에 따라 응답 값 다르도록 구현(아직 매치 부분은 구현 못함)
@5nam 5nam self-assigned this May 28, 2025
@5nam 5nam requested review from hojooo and y3binchoi as code owners May 28, 2025 02:45
@5nam 5nam added ✨ feature New feature or request ♻️ refactor Refactor code labels May 28, 2025
@5nam 5nam linked an issue May 28, 2025 that may be closed by this pull request
@hojooo
Copy link
Copy Markdown
Collaborator

hojooo commented May 28, 2025

타겟 브랜치 dev로 바꿔주셔야 할꺼같아요..!

@5nam 5nam changed the base branch from main to develop May 28, 2025 15:12
Copy link
Copy Markdown
Collaborator

@hojooo hojooo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨어요! 항상 꼼꼼하고 잘 해주셔서 코드 보면서 많이 배우고 있습니다!!

Copy link
Copy Markdown
Collaborator

@y3binchoi y3binchoi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!! ScheduleService 책임이 과하다는 생각이 들었는데 역시나 ScheduleCommandService, ScheduleQueryService로 잘 분산해주셔서 가독성과 성능 모두 좋아진 것 같습니다.

@5nam 5nam merged commit f80369f into develop Jun 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ refactor Refactor code ✨ feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Schedule 도메인 리팩터링

3 participants